package com.ruoyi.server.utils;

import com.ruoyi.server.person.PassageWayUser;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
import io.netty.util.AttributeKey;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 主要线上工具
 *
 * @author OpenACloud
 * @create 2024/6/5 9:37
 */
public class OnlineUtil {

    /**
     * USER_ID
     */
    public static AttributeKey<Long> SEND_ID = AttributeKey.valueOf("SEND_ID");

    /**
     * 在线用户
     */
    public static Map<Long, ChannelHandlerContext> ONLINE_MAPS = new ConcurrentHashMap<>();

    /**
     * 用户的好友
     */
    public static AttributeKey<Set<Long>> USER_FRIEND = AttributeKey.valueOf("USER_FRIEND");

    /**
     *  用户的群聊
     */
    public static AttributeKey<Set<Long>> USER_GROUP = AttributeKey.valueOf("USER_GROUP");

    /**
     * 申请挂载好友申请
     */
    public static AttributeKey<HashSet<Long>> ADD_APPLICATION_FRIEND = AttributeKey.valueOf("ADD_APPLICATION_FRIEND");

    /**
     * 申请挂载好友申请
     */
    public static AttributeKey<HashSet<Long>> ADD_APPLICATION_GROUP = AttributeKey.valueOf("ADD_APPLICATION_FRIEND");

    /**
     * 用户
     */
    public static AttributeKey<PassageWayUser> PASSAGE_WAR_USER = AttributeKey.valueOf(FixedValueUtil.PASSAGE_WAY_USER);

    /**
     * 认证数字
     */
    public static AttributeKey<Long> AUTH_BYTE = AttributeKey.valueOf("AUTH_BYTE");

}
